# 字符串————————————————————————————————————————————————————————————————————————————————————————————————
s = "a,b,c,d,e,f,g,h"
# 1、split()用于将字符串按分隔符拆分为列表。返回值:列表
print(s.split(","))

# 2、join()用指定字符连接字符串列表为一个字符串。
joined = ".".join(s)
print(joined)

#3.strip()去除字符串两端的空白符（空格、换行、制表符等），返回新的字符串
a = "  hello world  "
clean = a.strip()  # "hello world"
print(clean)

#4.upper()将所有字符转换为大写,返回新的字符串
s = "Hello World"
upper_case = s.upper()  # "HELLO WORLD"
print(upper_case)

# 5.lower()将所有字符全部小写的 返回值：新字符串
s = "Hello World"
lower_case = s.lower()  # "hello world"
print(lower_case)

# 6.replace(old, new)，将字符串中的旧子串替换为新子串，返回字符串
s = "I like cats."
new_s = s.replace("cats", "dogs")  # "I like dogs."
print(new_s)

#7.format()将变量插入到字符串的占位符中
name = "Alice"
age = 30
formatted = f"{name} is {age} years old."  # "Alice is 30 years old."
print(formatted)
# ——————————————————————————————————————————————————————————————————————————————————————————————————

# 列表
#1. append()
# 作用: 在列表末尾添加一个元素。
# 返回值: None（原地修改列表）。
lst = [1, 2, 3]
print(lst.append(4))

#2. extend()
# 作用: 将可迭代对象的元素全部添加到列表末尾。
# 返回值: None（原地修改列表）
lst = [1, 2]
print(lst.extend([3, 4]))

# 3. insert(index, item)
# 作用: 在指定索引位置插入元素。
# 返回值: None（原地修改列表）。
lst = [a, "b", "c"]
lst.insert(1, 'x')

# 4. pop(index=-1)
# 作用: 移除并返回指定索引的元素（默认末尾元素）。
# 返回值: 被移除的元素。

laast = [1, 2, 3]
print(lst.pop())    # 输出 3, lst 变为 [1, 2]

# 5. remove(item)
# 作用: 移除第一个匹配的元素。
# 返回值: None（若元素不存在会报错 ValueError）
lst = [1, 2, 2, 3]
print(lst.remove(2))

# 6. index(item)
# 作用: 返回第一个匹配元素的索引。
# 返回值: 元素的索引值（若不存在报错 ValueError）

lst = [a, "b", a]
print(lst.index(a))  # 输出 0

# 7.count(item)
# 作用: 统计元素在列表中出现的次数。
# 返回值: 元素的出现次数（整数）。

lst = [1, 2, 2, 3]
print(lst.count(2))  # 输出 2

# 8. join(lst)
# 作用: 将列表中的元素（需为字符串）用指定字符连接成新字符串。
# 返回值: 连接后的字符串。

lst = ["Hello", "World"]
joined = "-".join(lst)  # 输出 "Hello-World"

# 9.sort(key=None, reverse=False)
# 作用: 对列表进行原地排序（可指定排序规则和逆序）。
# 返回值: None（原地修改列表）。

lst = [3, 1, 4, 1]
lst.sort(reverse=True)  # lst 变为 [4, 3, 1, 1]

# 10.reverse()
# 作用: 反转列表中的元素顺序。
# 返回值: None（原地修改列表）。

lst = [1, 2, 3, 4]
lst.reverse()  # lst 变为 [4, 3, 2, 1]
# ————————————————————————————————————————————————————————————————————————————————————————————————————————————————

# 元祖
# 1. count(value)
# 作用: 统计元组中指定值出现的次数。
# 返回值: 值在元组中出现的总次数（整数）。

# 定义元组
tup = (1, 2, 2, 3, "a", "a")
# 统计元素出现次数
print(tup.count(2))    # 输出 2
print(tup.count("a"))   # 输出 2
print(tup.count(4))    # 输出 0

# 2. index(value)
# 作用: 返回元组中指定值第一次出现的索引。
# 返回值: 元素的索引值（整数）。若值不存在，抛出 ValueError。
tup = (10, 20, 30, 20, 40)

# 查找索引
print(tup.index(20))   # 输出 1
print(tup.index(40))   # 输出 4



